Field of the Invention
This invention relates to the field of computer processing and, more particularly, to restoring data to a different computing device.
Description of the Related Art
As computer memory storage and data bandwidth increase, so does the amount and complexity of data that users daily manage in business, research, medicine, finance, at home and so on. The data may be generated, modified and stored on various types of a computing device, such as a desktop computer, a laptop, a server, a smartphone and so forth. The data on the computing device may include at least an operating system, applications executed by the user, and user data and user metadata provided to the applications and modified by the applications.
In addition to backing up user data, the user may want to back up a particular session or state of the entire software system of a source computing device including the operating system, applications, the user data and any other metadata used to restore the entire software system on a hardware system. The backed up data is capable of being restored on a target computing device which has no installed operating system. In fact, the target computing device may not have any installed software. This type of computing device with no installed software including no operating system may be referred to as a bare metal computing device.
Restoring backup data to a bare metal target computing device may be referred to as a bare metal restore or a bare metal recovery. A backup for the source computing device may be performed for security reasons, for later configuring a new bare metal target computing device to a known initial state based on a previous source computing device, or for other reasons. An initial file system, which may also be referred to as a temporary file system or a startup file system, may be included in the backup.
During a startup boot sequence on a given computing device, the initial file system is used to offload the kernel of the operating system and perform particular tasks before the root file system is loaded. Typically, the initial file system includes input/output (I/O) modules corresponding to device drivers for the given computing device used to setup the storage devices attached to interfaces of the given computing device. The attached disk storage devices are used during the bare metal recovery for storing the restored operating system, applications, user data and so on.
Some operating system (OS) installations use a generic initial file system and include each available I/O module within the initial file system in order to boot and load a root file system on any type of target hardware during a bare metal restore with a processor architecture compatible with the operating system. However, these OS installations consume an appreciable amount of boot time as well as disk storage space for the bare metal recovery. Other OS installations use a custom initial file system and include only I/O modules within the initial file system needed to boot and load a root file system on a same type of hardware upon which the OS and applications are currently installed. Although boot time and disk storage space are reduced for these OS installations, a bare metal recovery is only possible with other computing devices with the same type of hardware upon which the OS and applications were currently installed. A dissimilar system recovery is not possible as the initial file system does not include the necessary I/O modules.
In view of the above, improved systems and methods for efficiently restoring data to a different computing device are desired.